package br.com.sovi.resources.usuario;

import java.util.ArrayList;
import java.util.List;
import java.util.Set;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;

import br.com.sovi.persistence.Usuario;

@XmlRootElement(name = "usuario")
@XmlAccessorType(XmlAccessType.FIELD)
public class UsuarioVO {

	private String nome;

	private String login;

	private String codigoEmpresa;

	public UsuarioVO() {
	}

	public UsuarioVO(String nome, String login, String codigoEmpresa) {
		super();
		this.nome = nome;
		this.login = login;
		this.codigoEmpresa = codigoEmpresa;
	}

	public UsuarioVO(Usuario usuario) {
		this.nome = usuario.getNome();
		this.login = usuario.getLogin();
		this.codigoEmpresa = usuario.getEmpresa().getCodigo();
	}

	static List<UsuarioVO> convertList(List<Usuario> list) {
		List<UsuarioVO> vos = new ArrayList<UsuarioVO>(list.size());

		for (int i = 0; i < list.size(); i++) {
			vos.add(i, new UsuarioVO(list.get(i)));
		}

		return vos;
	}

	public static List<UsuarioVO> convertCollection(Set<Usuario> invoke) {
		List<UsuarioVO> vos = new ArrayList<UsuarioVO>();

		for (Usuario usuario : invoke) {
			vos.add(new UsuarioVO(usuario));
		}

		return vos;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getLogin() {
		return login;
	}

	public void setLogin(String login) {
		this.login = login;
	}

	public String getCodigoEmpresa() {
		return codigoEmpresa;
	}

	public void setCodigoEmpresa(String codigoEmpresa) {
		this.codigoEmpresa = codigoEmpresa;
	}

}
